From 00677110470b8e64d513c304f5c42f2ee69da33b Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Thu, 29 Mar 2007 15:59:53 +0100 Subject: [PATCH] Make network.name_label == bridge name signed-off-by: Tom Wilkie --- tools/python/xen/xend/XendAPI.py | 6 +++--- tools/python/xen/xend/XendNode.py | 20 ++++++++++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index 856a53f10a..ff59cae102 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -1823,9 +1823,6 @@ class XendAPI(object): VM_metrics_attr_rw = [] VM_metrics_methods = [] - def VIF_metrics_get_all(self, session): - return self.VIF_get_all(session) - def _VM_metrics_get(self, _, ref): return XendVMMetrics.get_by_uuid(ref) @@ -2135,6 +2132,9 @@ class XendAPI(object): VIF_metrics_attr_rw = [] VIF_metrics_methods = [] + def VIF_metrics_get_all(self, session): + return self.VIF_get_all(session) + def VIF_metrics_get_record(self, _, ref): vm = XendDomain.instance().get_vm_with_dev_uuid('vif', ref) if not vm: diff --git a/tools/python/xen/xend/XendNode.py b/tools/python/xen/xend/XendNode.py index 887b1f1b80..aad2ac7530 100644 --- a/tools/python/xen/xend/XendNode.py +++ b/tools/python/xen/xend/XendNode.py @@ -143,8 +143,14 @@ class XendNode: for net_uuid, network in saved_networks.items(): self.network_create(network, False, net_uuid) else: - self.network_create({'name_label' : 'net0' }, False) - + bridges = Brctl.get_state().keys() + for bridge in bridges: + self.network_create({'name_label' : bridge }, False) + + # Get a mapping from interface to bridge + + if_to_br = dict(reduce(lambda ls,(b,ifs):[(i,b) for i in ifs] + ls, + Brctl.get_state().items(), [])) # initialise PIFs saved_pifs = self.state_store.load_state('pif') if saved_pifs: @@ -174,8 +180,14 @@ class XendNode: pif_uuid, pif['network'], exn.pif_uuid) else: for name, mtu, mac in linux_get_phy_ifaces(): - network = self.networks.values()[0] - self._PIF_create(name, mtu, -1, mac, network, False) + bridge_name = if_to_br.get(name, None) + if bridge_name is not None: + networks = [network for + network in self.networks.values() + if network.get_name_label() == bridge_name] + if len(networks) > 0: + network = networks[0] + self._PIF_create(name, mtu, -1, mac, network, False) # initialise storage saved_srs = self.state_store.load_state('sr') -- 2.30.2